﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MvcEngine.Core.Services;
using System.Web.Mvc;
using MvcEngine.Mvc.Extensions;
using MvcEngine.Mvc.Constraints;
using MvcEngine.Mvc;
using MvcEngine.Core;
using MvcEngine.Core.Registry;
using MvcEngine.Mvc.Filters;

namespace MvcEngine.Mvc.Services
{
    public abstract class ControlServiceBase : IControlService
    {
        public virtual void RegisterBackofficeRoutes(AreaRegistrationContext context)
        {
        }

        public virtual void RegisterStarterSiteRoutes(AreaRegistrationContext context)
        {
        }

        public virtual void DeleteControlFromPage(int pageContentId, Guid controlId)
        {

        }

        public virtual IList<ControlCommand> GetCommands()
        {
            return new List<ControlCommand>();
        }

        public virtual IEnumerable<string> GetStyleSheets()
        {
            return Enumerable.Empty<string>();
        }

        public virtual void RegisterActionFilters(IActionFilterRegistry registry)
        {
        }

        public virtual void RegisterModelBinders(ModelBinderDictionary binders)
        {

        }

        public abstract Type GetControllerType();

        public abstract string GetDefaultAction();
    }
}
